<template>
  <div>
    <UploadExcel :on-success="handleSuccess" :before-upload="beforeUpload" />
  </div>
  <!-- 限制文件大小 :before-upload="beforeUpload" -->
</template>

<script>
import { importEmployee } from "@/api/employees";
import { formatExcelDate } from "@/utils/index";
export default {
  data() {
    return {
      tableData: [],
      tableHeader: [],
    };
  },

  methods: {
    beforeUpload(file) {
      const isLt1M = file.size / 1024 / 1024 < 1;
      if (isLt1M) {
        return true;
      }
      this.$message({
        message: "Please do not upload files larger than 1m in size.",
        type: "warning",
      });
      return false;
    },
    // 1.读取excel里面的数据，转化为js的对象
    handleSuccess({ results, header }) {
      this.tableData = results;
      this.tableHeader = header;
      // 2.将数据格式化处理，中文-->英文
      const data = this.transExcel(results);
      this.AddimportEmployee(data);
    },
    //把中文转换哼英文
    transExcel(results) {
      const mapInfo = {
        入职日期: "timeOfEntry",
        手机号: "mobile",
        姓名: "username",
        转正日期: "correctionTime",
        工号: "workNumber",
        部门: "departmentName",
        聘用形式: "formOfEmployment",
      };
      return results.map((zhObj) => {
        const enObj = {};
        const zhKeys = Object.keys(zhObj); // ['姓名', '手机号']
        zhKeys.forEach((zhKey) => {
          const enKey = mapInfo[zhKey];
          if (enKey === "timeOfEntry" || enKey === "correctionTime") {
            enObj[enKey] = formatExcelDate(zhObj[zhKey]);
          } else {
            enObj[enKey] = zhObj[zhKey];
          }
          // enObj[enKey] = zhObj[zhKey];
        });

        return enObj;
      });
    },
    //批量增加
    async AddimportEmployee(data) {
      try {
        await importEmployee(data);
        //批量添加成功后回调到之前页面
        this.$router.back();
      } catch (error) {}
    },
  },
};
</script>

<style lang="scss" scoped>
</style>